<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>订单信息</title>
    <link href="css/swiper-5.4.5/swiper.min.css" rel="stylesheet">
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="css/font-awesome.css" rel="stylesheet">
    <link href="css/index.css" rel="stylesheet">
    <link href="css/my.css" rel="stylesheet">
    <link href="css/nav.css" rel="stylesheet">
    <link href="css/notice.css" rel="stylesheet">
    <style>
        [v-cloak]{
            display: none;
        }

        td{
            vertical-align: middle!important;
            text-align: center;
        }
    </style>
</head>
<body>
<div id="wrapper">
    <!-- 头部-->
    <div style="width: 100%; height: 60px;line-height: 60px;background-color: #333333">
        <div class="container">
            <div class="row">
                <div class="col-md-8">
                    <div style="color: #b3d8ff;font-size: 20px;">电动甄选</div>
                </div>
                <div class="col-md-4" style="text-align: right;color: #EEEEEE;"v-if="user.name">
                    <span style="color: #b3d8ff;margin-right: 20px;">{{user.name}}</span>
                    <a style="color: #EEEEEE" href="javascript:void (0)"@click="logout">退出</a>

                </div>
                <div v-else class="col-md-4"style="text-align: right;">
                    <a style="color: #EEEEEE;margin-right: 10px;" href="/end/page/login.html" target="_blank">登录</a>
                    <a style="color: #EEEEEE" href="/end/page/register.html" target="_blank">注册</a>

                </div>
            </div>
        </div>
    </div>

    <!--导航-->
    <div class="container" style="margin: 5px auto">
        <div style="width: 100%;height: 50px;line-height: 50px">
            <div class="col-md-12">
                <div class="row">
                    <ul style="display: flex;">
                        <li class="nav-item"><a href="index.html">首页</a> </li>
                        <li class="nav-item"><a href="noticeInfo.html">公告</a> </li>
                        <li class="nav-item"><a href="videoInfo.html">新能源介绍</a> </li>
                        <li class="nav-item"><a href="richTextInfo.html">汽车详细信息</a> </li>
                        <li class="nav-item"><a href="messageInfo.html">论坛</a> </li>
                        <li class="nav-item"><a href="cartInfo.html">购物车</a> </li>
                        <li class="nav-item active"><a href="orderInfo.html">订单</a> </li>
                        <li class="nav-item"><a href="commentInfo.html">评价</a> </li>
                        <li class="nav-item"><a href="javascript:void(0);"@click="personalPage">个人信息</a> </li>
                        <li class="nav-item" v-if="isShow"><a href="/end/page/index.html" target="_blank">进入后台系统</a> </li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
    <!--主题开始-->
    <div class="container" style="margin-top: 20px;">
        <div class="col-md-12">
            <table class="table table-striped table-bordered table-hover">
                <thead>
                <tr style="background-color: #cccccc;">
                    <th>商品</th>
                    <th>订单编号</th>
                    <th>金额</th>
                    <th>地址</th>
                    <th>收货人</th>
                    <th>联系方式</th>
                    <th>时间</th>
                    <th>状态</th>
                    <th>操作</th>
                </tr>
                </thead>
                <tbody>
                <tr v-for="(item,index) in orderData" :key="item.id">
                    <td style="width: 230px;">
                        <div v-for="g in item.goodsList" style="display: flex;align-items: center;">
                            <img style="width: 50%;height: 50%;" :src="g.imgSrc">
                            <span style="font-size: 12px;margin-left: 10px;">{{g.name}} X {{g.count}}</span>
                        </div>
                    </td>
                    <td>{{item.orderId}}</td>
                    <td>{{item.totalPrice}}￥</td>
                    <td>{{item.linkAddress}}</td>
                    <td>{{item.linkMan}}</td>
                    <td>{{item.linkPhone}}</td>
                    <td>{{item.createTime}}</td>
                    <td>{{item.status}}</td>
                    <td>
                        <button v-if="item.status === '待付款' || item.status === '完成' || item.status === '已退款'|| item.status === '已退货'|| item.status === '已取消'"
                                class="btn btn-danger btn-xs" @click="del(item)">删除</button>
                        <button v-if="item.status === '待付款'" class="btn btn-warning btn-xs" @click="changeStatus(item.id,'已取消')">取消</button>
                        <button v-if="item.status === '待付款'" class="btn btn-primary btn-xs" @click="changeStatus(item.id,'待发货')">去付款</button>
                        <button v-if="item.status === '待收货'" class="btn btn-primary btn-xs" @click="changeStatus(item.id,'完成')">确认收货</button>
                        <button v-if="item.status === '待发货'" class="btn btn-primary btn-xs" @click="changeStatus(item.id,'申请退款中')">退款</button>
                        <button v-if="item.status === '完成'" class="btn btn-primary btn-xs" @click="changeStatus(item.id,'申请退货中')">退货</button>
                    </td>

                </tr>

                </tbody>
            </table>
            <div style="text-align: center;">
                <ul class="pagination">
                    <li class="page-item" :class="{disabled:preActive}">
                        <a class="page-link" href="javascript:void(0)" @click="loadOrderInfo(pageInfo.pageNum - 1)">上一页</a>
                    </li>
                    <li class="page-item" v-if="pageInfo.pageNum > 1">
                        <a class="page-link" href="javascript:void(0)" @click="loadOrderInfo(pageInfo.pageNum - 1)">{{pageInfo.pageNum - 1}}</a>
                    </li>
                    <li class="page-item disabled">
                        <a class="page-link" href="javascript:void(0)">{{pageInfo.pageNum}}</a>
                    </li>
                    <li class="page-item" v-if="pageInfo.hasNextPage">
                        <a class="page-link" href="javascript:void(0)" @click="loadOrderInfo(pageInfo.pageNum + 1)">{{pageInfo.pageNum + 1}}</a>
                    </li>
                    <li class="page-item" :class="{disabled:nextActive}">
                        <a class="page-link" href="javascript:void(0)" @click="loadOrderInfo(pageInfo.hasNextPage?(pageInfo.pageNum + 1):pageInfo.pageNum)">下一页</a>
                    </li>
                </ul>
            </div>

        </div>

    </div>
</div>
<script src="js/jquery-1.10.2.js"></script>
<script src="js/swiper-5.4.5/swiper.min.js"></script>
<script src="js/vue2.6.11/axios.js"></script>
<script src="js/vue2.6.11/vue.min.js"></script>
<script src="js/my.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.metisMenu.js"></script>
<script>
    new Vue({
        el:'#wrapper',
        data:{
            user: {},
            isShow: false, //是否显示进入后台管理
            orderData: [], //订单的商品列表
            pageInfo: {},
            preActive: true,
            nextActive: true
        },
        created: function (){
            axios.get("/auth").then(res =>{
               if(res.data.code==='0'){
                   this.user = res.data.data;
                   if (this.user.level !== 3){
                       this.isShow = true;
                   }
                   this.loadOrderInfo(1);
               }else {
                   alert("请先登录");
                   location.href = "/end/page/login.html";
               }
            });

        },

        methods:{
            logout(){
                axios.get("/logout").then(res =>{
                    if(res.data.code==='0'){
                        location.href ='/front/index.html'
                    }
                });
            },

            //获取订单信息
            loadOrderInfo(pageNum){
                axios.get("/orderInfo/page/front?userId="+this.user.id+"&level="+this.user.level+"&pageNum="+pageNum).then(res =>{
                   if(res.data.code ==='0'){
                       let orderData = res.data.data.list;
                       orderData.forEach(item =>{
                           let goodsList = item.goodsList;
                           goodsList.forEach(g =>{
                               g.imgSrc = '/front/img/goods/默认图片.jpg';
                               //获取展示图
                               if (g.fileIds){
                                   let fileIds = JSON.parse(g.fileIds);
                                   if (fileIds.length){
                                       g.imgSrc = '/files/download/'+fileIds[0];
                                   }
                               }
                           });
                           item.goodsList = goodsList;

                       });
                       this.orderData = orderData;
                       this.pageInfo =res.data.data;
                       this.preActive = !(this.pageInfo.hasPreviousPage);
                       this.nextActive = !(this.pageInfo.hasNextPage);
                   } else {
                       alert(res.data.msg);
                   }
                });
            },
            //改变订单状态
            changeStatus(id,status){
                axios.post("/orderInfo/status/"+id+"/"+status).then(res => {
                    if(res.data.code ==='0'){
                        this.loadOrderInfo(1);
                    }else {
                        alert(res.data.msg);
                    }
                });
            },
            //删除某个订单
            del(data){
                if (confirm('确定删除订单吗？')){
                    axios.delete('/orderInfo/'+data.id).then(res => {
                        if(res.data.code ==='0'){
                            alert('删除成功');
                            this.loadOrderInfo(1);
                        }else {
                            alert(res.data.msg);
                        }
                    });
                }
            }



        }
    });
</script>
</body>
</html>